"is a"和"is like a"

来源:百度知道 编辑:UC知道 时间:2024/05/17 07:28:59
这2个关系到底怎么理解啊,thinking in java里说如果子类与父类拥有完全相同的公共接口就是is-a关系,如果子类接口对父类有扩展就是is-like-a.可是我看到很多人说子类与父类就是is-a,接口与其实现者,才是is-like-a,到底该如何理解?
大侠们能不能讲的具体点,别停留在字面上,行吗?小弟不胜感激

呵呵,其实is-a,的意思就是“是一个”,假如子类不扩展父类的话,那么继承就没什么意思了,那么子类和父类就是同一个类。
is like a 像是一个但不是一个,因为子类不但拥有父类的所有可继承的东西,而且拥有自己的私有东西,就像你是你老爸的儿子,所以很多人说,你长得很像你老爸,其实你身上有很多你老爸没有的东西。呵呵,就是这个意思!

不是很明白
不过直接翻译的话
Is a .... 是一个....
Is like a ... 好像是一个...

is like a 像是一个但不是一个,因为子类不但拥有父类的所有可继承的东西,而且拥有自己的私有东西,就像你是你老爸的儿子,所以很多人说,你长得很像你老爸,其实你身上有很多你老爸没有的东西。呵呵,就是这个意思!

还真是不明白